// 插入排序，模拟抽牌厘牌的过程，对于一个本身已经接近有序的数组而言是非常有效的

export function insertSort(nums: number[]): number[] {
    // 第一张牌作为基准，所以从第二张牌开始
    for (let i = 1; i < nums.length; i++) {
        // 扫描有序数组
        for (let j = 0; j <= i; j++) {
            // 发现待插入的位置，i是待插的元素
            if (nums[i] < nums[j]) {
                [nums[i], nums[j]] = [nums[j], nums[i]];
            }
        }
    }
    return nums;
}